package leedcode_path.treeNoDE;

import java.sql.Connection;
import java.util.*;

public class 在每个树行中找最大值 {
    /*
    * 给定一棵二叉树的根节点 root ，请找出该二叉树中每一层的最大值。*/
    public List<Integer> largestValues(TreeNode root) {
        List<Integer> res=new ArrayList<Integer>();
        if (root==null) return  res;
        Queue<TreeNode> que =new LinkedList<TreeNode>();
        que.offer(root);
        while (!que.isEmpty()){
            List<Integer> lis=new ArrayList<Integer>();
            int len=que.size();
            while (len>0){
                TreeNode temNode=que.poll();
                lis.add(temNode.val);
                if (temNode.left!=null) que.offer(temNode.left);
                if (temNode.right!=null) que.offer(temNode.right);
                len--;
            }

            res.add(Collections.max(lis));
        }
        return res;
    }
}
